"""
MMS ASN1 field definitions
"""
from scapy.asn1fields import *
from .tags import ASN_Tags_MMS


class ASN1F_CONFIRMED_REQUEST_PDU(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.CONFIRMED_REQUEST_PDU


class ASN1F_INITIATE_REQUEST_PDU(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.INITIATE_REQUEST_PDU


class ASN1F_INITIATE_RESPONSE_PDU(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.INITIATE_RESPONSE_PDU


class ASN1F_UNCONFIRMED_PDU(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.UNCONFIRMED_PDU


class ASN1F_FAILURE(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.FAILURE


class ASN1F_INFORMATION_REPORT_LIST_OF_ACCESS_RESULT(ASN1F_SEQUENCE_OF):
    ASN1_tag = ASN_Tags_MMS.INFORMATION_REPORT_LIST_OF_ACCESS_RESULT


class ASN1F_INFORMATION_REPORT(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.INFORMATION_REPORT


class ASN1F_GET_NAME_LIST_REQUEST(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.GET_NAME_LIST_REQUEST


class ASN1F_READ_REQUEST(ASN1F_SET):
    ASN1_tag = ASN_Tags_MMS.READ_REQUEST


class ASN1F_WRITE_REQUEST(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.WRITE_REQUEST


class ASN1F_VMD_SPECIFIC(ASN1F_ISO646_STRING):
    ASN1_tag = ASN_Tags_MMS.VMD_SPECIFIC


class ASN1F_DOMAIN_SPECIFIC(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.DOMAIN_SPECIFIC


class ASN1F_AA_SPECIFIC(ASN1F_ISO646_STRING):
    ASN1_tag = ASN_Tags_MMS.AA_SPECIFIC


class ASN1F_LOCAL_DETAIL_CALLING(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.LOCAL_DETAIL_CALLING


class ASN1F_PROPOSED_MAX_SERV_OUTSTANDING_CALLING(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.PROPOSED_MAX_SERV_OUTSTANDING_CALLING


class ASN1F_PROPOSED_MAX_SERV_OUTSTANDING_CALLED(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.PROPOSED_MAX_SERV_OUTSTANDING_CALLED


class ASN1F_PROPOSED_DATA_STRUCTURE_NESTING_LEVEL(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.PROPOSED_DATA_STRUCTURE_NESTING_LEVEL


class ASN1F_MMS_INIT_REQUEST_DETAIL(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.MMS_INIT_REQUEST_DETAIL


class ASN1F_PROPOSED_VERSION_NUMBER(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.PROPOSED_VERSION_NUMBER


class ASN1F_PROPOSED_PARAMETER_CBB(ASN1F_BIT_STRING):
    ASN1_tag = ASN_Tags_MMS.PROPOSED_PARAMETER_CBB


class ASN1F_SERVICES_SUPPORTED_CALLING(ASN1F_BIT_STRING):
    ASN1_tag = ASN_Tags_MMS.SERVICES_SUPPORTED_CALLING


class ASN1F_LOCAL_DETAIL_CALLED(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.LOCAL_DETAIL_CALLED


class ASN1F_NEGOTIATED_MAX_SERV_OUTSTANDING_CALLING(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.NEGOTIATED_MAX_SERV_OUTSTANDING_CALLING


class ASN1F_NEGOTIATED_MAX_SERV_OUTSTANDING_CALLED(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.NEGOTIATED_MAX_SERV_OUTSTANDING_CALLED


class ASN1F_NEGOTIATED_DATA_STRUCTURE_NESTING_LEVEL(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.NEGOTIATED_DATA_STRUCTURE_NESTING_LEVEL


class ASN1F_MMS_INIT_RESPONSE_DETAIL(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.MMS_INIT_RESPONSE_DETAIL


class ASN1F_NEGOTIATED_VERSION_NUMBER(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.NEGOTIATED_VERSION_NUMBER


class ASN1F_NEGOTIATED_PARAMETER_CBB(ASN1F_BIT_STRING):
    ASN1_tag = ASN_Tags_MMS.NEGOTIATED_PARAMETER_CBB


class ASN1F_SERVICES_SUPPORTED_CALLED(ASN1F_BIT_STRING):
    ASN1_tag = ASN_Tags_MMS.SERVICES_SUPPORTED_CALLED


class ASN1F_VMD_STATE(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.VMD_STATE


class ASN1F_OBJECT_CLASS(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.OBJECT_CLASS


class ASN1F_OBJECT_SCOPE(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.OBJECT_SCOPE


class ASN1F_OBJECT_SCOPE_VMD_SPECIFIC(ASN1F_NULL):
    ASN1_tag = ASN_Tags_MMS.OBJECT_SCOPE_VMD_SPECIFIC


class ASN1F_OBJECT_SCOPE_DOMAIN_SPECIFIC(ASN1F_ISO646_STRING):
    ASN1_tag = ASN_Tags_MMS.OBJECT_SCOPE_DOMAIN_SPECIFIC


class ASN1F_OBJECT_SCOPE_AA_SPECIFIC(ASN1F_NULL):
    ASN1_tag = ASN_Tags_MMS.OBJECT_SCOPE_AA_SPECIFIC


class ASN1F_BASIC_OBJECT_CLASS(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.BASIC_OBJECT_CLASS


class ASN1F_TYPE_SPECIFICATION_MMS_STRING(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.TYPE_SPECIFICATION_MMS_STRING


class ASN1F_READ_REQUEST_SPECIFICATION_WITH_RESULT(ASN1F_BOOLEAN):
    ASN1_tag = ASN_Tags_MMS.READ_REQUEST_SPECIFICATION_WITH_RESULT


class ASN1F_READ_REQUEST_VARIABLE_ACCESS_SPECIFICATION(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.READ_REQUEST_VARIABLE_ACCESS_SPECIFICATION


class ASN1F_LIST_OF_DATA(ASN1F_SEQUENCE_OF):
    ASN1_tag = ASN_Tags_MMS.LIST_OF_DATA


class ASN1F_NAME(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.NAME


class ASN1F_DATA_ARRAY(ASN1F_SEQUENCE_OF):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_ARRAY


class ASN1F_DATA_STRUCTURE(ASN1F_SEQUENCE_OF):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_STRUCTURE


class ASN1F_DATA_TYPE_BOOLEAN_(ASN1F_BOOLEAN):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_BOOLEAN_


class ASN1F_DATA_TYPE_BIT_STRING(ASN1F_BIT_STRING):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_BIT_STRING


class ASN1F_DATA_TYPE_INTEGER(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_INTEGER


class ASN1F_DATA_TYPE_UNSIGNED(ASN1F_INTEGER):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_UNSIGNED


class ASN1F_DATA_TYPE_FLOATING_POINT(ASN1F_STRING):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_FLOATING_POINT


class ASN1F_DATA_TYPE_OCTET_STRING(ASN1F_STRING):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_OCTET_STRING


class ASN1F_DATA_TYPE_VISIBLE_STRING(ASN1F_ISO646_STRING):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_VISIBLE_STRING


class ASN1F_DATA_TYPE_BINARY_TIME(ASN1F_STRING):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_BINARY_TIME


class ASN1F_DATA_TYPE_MMS_STRING(ASN1F_UTF8_STRING):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_MMS_STRING


class ASN1F_DATA_TYPE_UTC_TIME(ASN1F_STRING):
    ASN1_tag = ASN_Tags_MMS.DATA_TYPE_UTC_TIME


class ASN1F_LIST_OF_VARIABLES(ASN1F_SEQUENCE_OF):
    ASN1_tag = ASN_Tags_MMS.VARIABLE_ACCESS_SPECIFICATION_LIST_OF_VARIABLE


class ASN1F_VARIABLES_LIST_NAMES(ASN1F_SEQUENCE):
    ASN1_tag = ASN_Tags_MMS.VARIABLE_ACCESS_SPECIFICATION_VARIABLE_LIST_NAME
